spb/groupe-ka Public
Groupe KA — site du holding + KA ID (compte unique & SSO des 7 plateformes). Next.js 16, SQLite, Google & Apple login.
TypeScript 89.7%
CSS 5.8%
HTML 4.4%
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// Sert la photo de profil d'un membre (JPEG carré 512 px) — hotlinkée par la3// carte de membre, la page publique /m/{ka_id} et les plateformes du groupe.4import { NextRequest, NextResponse } from "next/server";5import fs from "fs/promises";6import path from "path";78export async function GET(9 _req: NextRequest,10 { params }: { params: Promise<{ kaId: string }> },11) {12 const { kaId } = await params;13 if (!/^ka-\d{10}$/.test(kaId))14 return NextResponse.json({ error: "introuvable" }, { status: 404 });15 try {16 const buf = await fs.readFile(17 path.join(process.cwd(), "data", "avatars", `${kaId}.jpg`),18 );19 return new NextResponse(new Uint8Array(buf), {20 headers: {21 "Content-Type": "image/jpeg",22 "Cache-Control": "public, max-age=3600",23 },24 });25 } catch {26 return NextResponse.json({ error: "introuvable" }, { status: 404 });27 }28}29